1. Technical Field
The present invention relates in general to a method and system for data processing and, in particular, to a method and system for automatically configuring the boot process of a network computer. Still more particularly, the present invention relates to a method and system for automatically configuring the boot program and server utilized in the boot process of a network computer upon first initiation of the network computer within a network such that for subsequent initiations of the network computer within the network a particular boot program and server are already selected.
2. Description of the Related Art
A typical data processing system, for example a general-purpose computer, consists of a central processing unit (CPU), memory components, and a number of device controllers that are typically connected through a system of buses that provides access to all shared memory. Each device controller is devoted to control of a specific type of device (e.g. disk drives, audio devices, and video displays). The CPU and device controllers can execute concurrently, competing for memory cycles. To ensure orderly access to the shared memory, a memory controller is typically provided whose function is to synchronize access to the memory. a computer to start running, for instance upon power up or reboot, an initial program in necessary. This initial program, or bootstrap program, is typically simple. Preferably, the bootstrap program initializes all aspects of the data processing system, from CPU registers to device controllers to memory contents. The bootstrap program must know how to load an operating system and to start execution of the operating system. To load the operating system, the bootstrap program typically locates an operating system kernel, loaded into memory, and jumps to an initial address provided by the operating system kernel. Typically, the operating system is loaded into random-access memory (RAM) within the data processing system. Once loaded and initialized, the operating system controls the execution of programs and may provide services such as resource allocation, scheduling, input/output control, and data management. The operating system also determines the graphical user interface (GUI) provided for displaying data.
In most data processing systems, the bootstrap program is stored in two places. First, part of the bootstrap program may be stored in read-only memory (ROM). ROM is an ideal memory location because the ROM does not require initialization and is always available. However, the part of the bootstrap program stored in ROM is not configurable. Therefore, the configurable aspects of the bootstrap program are preferably stored at a fixed memory location available to the data processing system. The ROM contains instructions to access the part of the bootstrap program stored at a fixed memory location and loads the data into main memory. The location of an operating system kernel is preferably a configurable aspect of the bootstrap program whereby a data processing system is not limited to storage of operating system software at a fixed location.
In the evolution of network computers, the operating system kernel may be located in a server accessible within a network. Preferably, the bootstrap program is located within the fixed memory of the network computer, however, the operating system software is loaded from the server to the RAM of the network computer. In this manner, to update the operating system software, only the server software is updated. All other network computers accessing the server will receive the updated version during the boot process.
With the evolution of networks, multiple operating systems have been developed for storage on servers within the network. Bootstrap programs for loading each of the multiple operating systems have also been developed. Therefore, it is typical for a network computer to be factory loaded with multiple bootstrap programs available for configuration.
While factory loading of multiple bootstrap programs onto network computers provides for diversity of operating systems, configuration of the boot process of each network computer when initiated onto a network is required to direct the bootstrap program to the correct operating system kernel on a server and to set the correct bootstrap program for loading the operating system.
However, it would be desirable for a network computer, upon initiation to a network, to automatically configure the network computer""s boot process from the operating systems available on the network. Further, it would be desirable in cases where the user prefers a particular operating system to reduce the user steps necessary to configure a network computer for that operating system.
In view of the foregoing, it is therefore an object of the present invention to provide an improved method and system for data processing.
It is another object of the present invention to provide an improved method and system for automatically configuring the boot process of a network computer.
It is further an object of the present invention to provide an improved method and system for automatically configuring the boot program and server utilized in the boot process of a network computer upon first initiation of the network computer within a network such that for subsequent initiations of the network computer within the network a particular boot program and server are already selected.
In accordance with the method and system of the present invention, a request is broadcast from a network computer to a network for an available server, upon a first initiation of the network computer within the network. Responses from the broadcast are gathered which indicate whether a server is available. A selected boot program is then executed from among multiple boot programs available in the network computer, in response to gathering a response indicating an available server, where the selected boot program correlates with an operating system of the available server. The selected boot program and the identity of the available server are stored as boot process configuration settings in a nonvolatile storage of the network computer, in response to successful execution of the boot program, such that a boot process of a network computer is automatically configured upon a first initiation thereof such that for subsequent initiations of the network computer within the network a boot program and particular server are already selected for the boot process of the network computer.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.